using System.Collections.Generic;
using System.Diagnostics;

using octalforty.Componento.Core.ObjectModel;

namespace octalforty.Componento.Core.ApplicationServices
{
    [DebuggerDisplay("{Manifest.Name,nq} {Manifest.Version}")]
    public class DependencyGraphNode
    {
        public PackageManifest Manifest 
        { get; set; }
        
        public List<DependencyGraphNode> DependencyFor 
        { get; set; }
        
        public List<DependencyGraphNode> DependentOn 
        { get; set; }

        public DependencyGraphNode(PackageManifest manifest)
        {
            Manifest = manifest;

            DependencyFor = new List<DependencyGraphNode>();
            DependentOn = new List<DependencyGraphNode>();
        }
    }
}